The invention relates generally to the area of computer controlled robot arms; and specifically, the invention provides a method for utilizing a program defining absolute positions at various spatial locations. Traditional robot controls have utilized several techniques to expand the control capabilities.
First, U.S. Pat. No. 3,543,947 discloses a basic programmable robot control containing a program defining the absolute positions of the robot arm. During the execution of the program, a transducer connected to one of the axes of motion is utilized on a real time basis to modify the absolute position of another axis of motion. A similar system is shown by U.S. Pat. No. 2,861,699 which illustrates a manually controlled robot arm.
Another, more sophisticated, real time modification system is illustrated by U.S. Pat. No. 3,850,313 which discloses a program controlled robot arm having a caliper for measuring the dimensions of box-like workpieces. During a teaching mode of operation, a cycle is programmed for moving a workpiece from a fixed location to a first position on a pallet and back to the fixed location. The dimensions of a second workpiece are measured and added to the axial positions defining the location of the first workpiece. The robot arm positions the second workpiece on the pallet utilizing the programmed cycle and the dimensional information of the second workpiece which has been derived by the caliper.
Further, the signals generated which define the location of the first, second and subsequent workpieces may be recorded for subsequent use, e.g. to unload the pallet. The system further limits the number of workpieces which are loaded in each row in the pallet, defines the number of rows and changes the direction of the rows by 90.degree. at alternate levels.
U.S. Pat. No. 3,306,442 illustrates a multiple program system. After executing a first program defining a basic cycle, one of several second programs is chosen in response to an external stimulus. The second program causes the robot arm to operate directly in accordance with its programmed absolute positions, and hence the programmed coordinates are not in any way modified.
A variation of the above scheme is illustrated in U.S. Pat. No. 3,306,471 in which position control of the robot arm is shifted between programs in response to preprogrammed codes. Again the programs operate independently and do not in any way change from their programmed characteristics.
The prior art illustrates the continuing need for a program control which is easily defined and flexible in its execution.
In many applications, it is desirable to repeat a pattern of motions at various locations in space. FIG. 4 illustrates an elementary example in which it is desired to wrap wire around the illustrated pegs 166 through 176. If the architecture of the robot control permits, the task may be divided into a number of separate programs. Without this architecture, it would necessary to program each and every point required in the wrapping process. With typical multiple program architectures, a first program is generated which represents the basic cycle. In FIG. 4, such a first program is illustrated by the circle symbols and the labels M001 through M.sub.n. Next, each deviation from the first program is defined by a number of second programs which define a wrapping action around each set of pegs. Each second program has a number of points represented by the + symbol. This architecture proves satisfactory where each second program defines a separate and unique wrapping pattern. However, in the example illustrated in FIG. 4, each wrapping pattern is identical. Therefore, the most efficient mode of operation would require that the pattern be defined only one time. The present invention allows such a utilization. With the present invention, a first program defines the general cycle, and a second program defines the repetitive specific wrapping pattern relative to two of the pegs, e.g. pegs 166 and 168. Even though the points 0A01 through 0A04 in the second program are defined in terms of absolute spatial coordinates, the disclosed system allows the program to originate from any point in the first program and be executed at different spatial locations.
In view of the above, it can be seen how the invention varies from the prior art cited. First, the invention does not provide the real time modification of a program from an external source. Second, it differs from other multiple program systems in that the control of the spatial location of the robot arm is not limited by the absolute nature of the programmed positions.